1. Field of the Invention
The invention relates generally to network synchronization and more particularly to a method and apparatus for synchronizing with a communication network, without joining the network, by acquiring a slave clock time from a slave device and then shadowing the slave device while the slave device responds to a page for connecting to the network.
2. Description of the Prior Art
Many system standards have been developed for communication. One such system standard is known as BLUETOOTH. BLUETOOTH is a short range radio system operating in the unlicensed 2.4 GHz Industrial Scientific Medical (ISM) band using frequency hopping spread spectrum signals. The spread spectrum signals enable the system to minimize fading and reduce interference between users. The BLUETOOTH spread spectrum is designed to meet parts 15 and 18 of the Federal Communications Commission (FCC) regulations in the United States and the regulations of other regulatory agencies in other countries. The BLUETOOTH signal uses seventy-nine or twenty-three frequency hopping channels depending upon the country of operation. At any one instant of time, the signal is transmitted in a single one of the channels. Each channel has a bandwidth of one megahertz. The channels succeed each other in a pseudo-random channel hopping sequence specified by a BLUETOOTH system standard. Each successive frequency channel corresponds to a phase or time slot of the pseudo-random sequence.
A BLUETOOTH system network known as a piconet includes a single master device and up to seven active slave devices. The network topology is referred to as a star because all communication involves the master device. Slave to slave communication is not allowed. Another BLUETOOTH network, known as a private network, uses only a single master device and a single active slave device. Typically, the private master and slave devices work with a limited subset of the BLUETOOTH protocol and are provided by a manufacturer as a set.
FIG. 1A shows a time line of communication traffic exchange in a BLUETOOTH network. Packets of information are exchanged between the master device and a selected slave device using time division duplex (TDD) with alternating master (master TX) and slave (slave TX) transmissions. Communication traffic is partitioned into time slots 625 microseconds in length for each frequency channel. Every other time slot is considered to be a master time slot. In the master time slot, the master device can transmit a master data packet addressed to a particular slave device. In the following time slot, the addressed slave device may respond to the master data packet by transmitting a slave data packet back to the master device. Transmissions in successive time slots occur on sequential frequency channels in a pseudo-random sequence shown in FIG. 1A in an exemplary manner as channels 79, 03, 06, 47, 18, 02, 17, and 61. The frequency channels are mapped to specific ISM band frequencies by adding a constant offset frequency that is specific to a region. In the United States and most of Europe the offset is 2402 megahertz.
FIG. 1B shows a simplified block diagram for a BLUETOOTH device having a hop sequence generator. Both the master and the slave devices compute the successive channels from a BLUETOOTH system clock time maintained in the master device and the address identification of the master device. In order to follow the frequency hopping sequence of a particular piconet, a slave device must know both the master address and the precise system clock time. The hop sequence generators in the master and slave devices compute the frequency channels for the communication traffic from 24 bits of a 48-bit IEEE address of the master device and a 28-bit system clock time. In addition the timing of the frequency hops is based upon the system clock time. The master clock is a free running counter that increments each 312.5 microseconds (3200 Hz) or one-half of a time slot. Packet data sent in a BLUETOOTH format is scrambled through a linear feedback shift register based on the BLUETOOTH clock to reduce DC bias and improve security of the information in the data packets.
Several modes are described in the BLUETOOTH system specification. The communication traffic mode is the normal operational mode for communication between the master and slave devices that are joined or connected in the network. Modes for inquiry, inquiry scan, and inquiry response are used in a who-is-there protocol for identifying BLUETOOTH devices that are within signal range. In the inquiry mode an inquiry is broadcast on frequency hopping channels of an inquiry sequence. A recipient BLUETOOTH device is induced by the inquiry to respond with an inquiry response having the address of the recipient device and the recipient device clock time on frequency hopping channels based upon the frequency channel of the inquiry. Inquiry scan is a mode for listening for an inquiry from a BLUETOOTH device on frequency hopping inquiry listen channels in an inquiry scan sequence.
Modes for page, page scan, page response, master page frequency hop synchronization (FHS), and slave page FHS response are used for synchronizing and connecting the devices. A page from a master device starts a paging handshake by transmitting an address identification of a device being paged on frequency hopping page transmit channels of a paging sequence. Page scan is a mode for listening on frequency hopping page listen channels of a page scan sequence for a page having the listener""s address identification. Page response is a mode for responding to the page on page response channels based upon the page transmit channels. Master page FHS is a mode for responding to the page response by transmitting an FHS signal on the next frequency hopping channel in the paging sequence. Slave page FHS response is a mode for connecting to the network by responding to the master page FHS response.
FIG. 2A shows a time line of the operation of the master and slave devices during page and inquiry modes. In order to page a slave device, the master device alternately transmits (TX) pages on two successive frequency channels and then listens (LX) on two successive frequency channels for page responses. The page time period for each channel is 312.5 microseconds or one-half the normal time slot period of 625 microseconds. The slave device in page scan mode listens for the pages on successive page listen channels (LX scan k and LX scan k+1) of a page scan sequence with a time period of 1.28 seconds for each channel until a page is recognized.
FIG. 2B shows a time line of the paging sequence for the master device when the paged slave device responds to the page. The master device transmits (TX) pages in successive page transmit channels and listens (LX) for a page response in a paging sequence. When the page response is received, the master device responds by transmitting an FHS packet (TX FHS) containing both the address of the master device and the 26 most significant bits (MSB)s of the 28 bits of the system clock time on the next channel of the paging sequence. The slave device then resolves the 2 least significant bits (LSB)s of the master time clock from the time-of-arrival of the FHS packet. The slave device now has all the information it needs for determining the channels and timing of the frequency hopping sequence and participating in communication traffic. At this point, the slave device joins the network by responding to the FHS packet.
An inquiry is similar to a page in that an inquiring device transmits inquiries on successive frequency channels in an inquiry sequence and then listens on corresponding frequency channels for inquiry responses with time periods for each channel of 312.5 microseconds. A device in inquiry scan mode listens for the inquiries on successive channels of an inquiry scan sequence with a time period of 1.28 seconds for each channel until an inquiry is recognized. When the device in inquiry scan mode recognizes the inquiry it responds by transmitting an FHS packet having its address and 26 of the 28 bits of its own clock time. However, a major distinction between a page and an inquiry is that the time-of-transmission of the master page FHS packet for a page is based upon the system clock time whereas the time-of-transmission of the FHS packet for an inquiry is based upon the local clock time of the inquiring device. As a result of this distinction, existing BLUETOOTH devices use paging but not inquiry for determining the system clock time for synchronizing to the network. A second major distinction is that a page is always initiated by a master device whereas an inquiry may be initiated by any BLUETOOTH device having inquiry capability. A third major distinction is that the FHS packet for a page carries coarse system clock time whereas the FHS packet for an inquiry carries coarse clock time for whatever device responds to the inquiry.
A more complete description of the BLUETOOTH system is available in the specification volume 1, xe2x80x9cSpecification of the Bluetooth Systemxe2x80x94Corexe2x80x9d v1.0 B published Dec. 1, 1999, and the specification volume 2, xe2x80x9cSpecification of the Bluetooth Systemxe2x80x94Profilesxe2x80x9d v1.0 B published Dec. 1, 1999, both under document no. 1.C.47/1.0 B. The volume 1 core specification specifies the radio, baseband, link manager, service discovery protocol, transport layer, and interoperability with different communications protocols. The volume 2 profiles specification specifies the protocols and procedures required for different types of BLUETOOTH applications. Both volumes are available on-line at www.bluetooth.com or through the offices of Telefonaktiebolaget LM Ericsson of Sweden, International Business Machines Corporation, Intel Corporation of the United States of America, Nokia Corporation of Finland, and Toshiba of Japan.
In order to synchronize to BLUETOOTH communication traffic packets for measurement and analysis purposes it would be relatively straightforward for an analyzer to use the paging process to join the piconet as a test slave device. However, this approach has several disadvantages. First, by joining the piconet the analyzer changes the piconet. A question can then arise as to whether the communication traffic pattern on the piconet was affected by the presence of the analyzer. Second, the analyzer would necessarily use one of the active slave positions in the piconet. Where all of the up seven slave positions were being used, the connection of the analyzer would prevent one of the slaves from being connected. This might be inconvenient and it would certainly change the network being tested. Worse still, in a private network having only a single master and single operational slave, the analyzer would replace either the master or the single active slave, thereby making it impossible to observe actual communication traffic between the master and the slave device.
In general, it is desirable that a protocol analyzer monitor message traffic for measurement and analysis on a link without joining or interfering with the operation of the link. With regard to a BLUETOOTH network, this means that a protocol analyzer should be able to follow all the traffic in a piconet without replacing the master or any of the operational slaves, or participating in the piconet in any way as either a master of a slave device. However, in order to monitor traffic on a BLUETOOTH link, a protocol analyzer needs to know the system clock time for the piconet. Unfortunately, the BLUETOOTH system protocol specification does not make any provision for acquiring this clock time except by joining and participating in the piconet. Therefore, there is a need for system that goes beyond the BLUETOOTH specification for non-intrusive test and measurement of a BLUETOOTH link.
It is therefore an object of the present invention to provide an apparatus and method for synchronizing with communication traffic on a network having master and slave devices, without joining the network, by first acquiring a slave clock time from a slave device and then using the slave clock time for shadowing the slave device while the slave device responds to a page for acquiring a system clock time and connecting to the network. This and other objects of the present invention will no doubt become obvious to those of ordinary skill in the art after having read the following summary and detailed description and viewing the figures illustrating the preferred embodiments.
Briefly, in a preferred embodiment, the present invention is a method and apparatus for synchronizing with communication traffic during time slots on channels in a channel hopping sequence on a network connecting a master device and slave devices. The timing and sequence of the channels of the communication traffic are synchronized to a system clock time that is maintained by the master device and used by the slave device. The method and apparatus of the present invention is embodied in an analyzer that obtains a slave clock time in an inquiry response packet from a slave device when the master and slave devices are not connected in the network and then uses the slave clock time for shadowing the slave device for receiving a master page frequency hop synchronization (FHS) packet having the system clock time.
The analyzer in a preferred embodiment transmits an inquiry and receives an inquiry response from the master and slave devices that are within signal range and are capable of connecting in the network but are not currently connected. The inquiry response from a slave device includes a slave clock time for that slave device. The analyzer uses the slave clock time for shadowing the slave device while the slave device scans for a page from the master device, receives a page response from the slave device to the master device in response to the page, and receives a master page FHS packet having the system clock time from the master device to the slave device. The slave connects to the master device by responding to the master page FHS packet. At this point the slave device and the master device are in a condition where communication traffic can be exchanged on channels derived from the system clock time in the channel hopping sequence. The analyzer uses the system clock time obtained with the FHS packet for synchronizing with the channel hopping sequence for observing the communication traffic.
Two enhancements improve the robustness of a preferred embodiment of the method and analyzer. First, the analyzer calculates a slave clock rate by comparing the slave clock times in two inquiry responses to their times of reception in the analyzer and then uses the calculated slave clock rate for tracking the slave clock time within the analyzer. Second, the analyzer scans for the page to the slave device at least one channel earlier in a page scan sequence than is expected based upon the slave clock time. When the apparatus recognizes the page on the early channel, it listens on one channel early, prompt, and one channel late page response channels for a page response.
Although the preferred embodiments illustrated in the figures and described in the accompanying detailed descriptions are described in terms of a BLUETOOTH system network, the present invention is applicable to other system networks using distinguishable channels in channel hopping sequences. The distinguishable channels may be implemented with frequencies, codes, time allocations, polarities, or any other distinguishing features alone or in combination.